//
//  MFCacheData.h
//  MFSSDK
//
//  Created by iclock on 2022/4/1.
//  Copyright © 2022 zhangJH. All rights reserved.
//

#import <Foundation/Foundation.h>

//排序类型
typedef NS_ENUM(NSUInteger, MFGetDataSortType) {
    Sort_ASC,
    Sort_DESC,
};

NS_ASSUME_NONNULL_BEGIN

@interface MFCacheData : NSObject

/// 缓存上传
/// @param cacheId 缓存唯一标识，防止缓存数据重复
/// @param dataStr 需要缓存的数据体（json）
/// @param result 返回结果
+ (void)mfSetCachedataWithDeviceId:(NSString *)deviceId cacheId:(NSString *)cacheId data:(NSString *)dataStr result:(void(^)(NSDictionary *result))result;


/// 缓存拉取
/// @param query 查询字符串（json）eg: {"data_type":"purchase"}（可为空）
/// @param deviceId cp自定义设备编号，默认 SDK设备id（可为空）
/// @param page 分页页码，默认 1（可为空）
/// @param size 分页条数，默认 20（可为空）
/// @param sort 排序（Sort_ASC(升序), Sort_DESC（倒序）），默认 Sort_ASC
/// @param result 返回结果
+ (void)mfGetCacheDataWithQuery:(NSString *)query deviceId:(NSString *)deviceId page:(NSString *)page size:(NSString *)size sortType:(MFGetDataSortType)sort result:(void(^)(NSDictionary *result))result;


#pragma mark - key-value storage

/// 使用键值对方式存储游戏数据到iCloud
/// - Parameters:
///   - key: 键值（请设置跟应用和用户相关的字符串，尽量别与iCloud其他值重复）
///   - value: 值（建议json字符串）
+ (void)setUpKeyValueICloudStoreWithKey:(NSString *)key value:(NSString *)value;


/// 获取存储到iCloud的游戏数据
/// - Parameter key: 键值
+ (NSString *)getKeyValueICloudStoreWithKey:(NSString *)key;

@end

NS_ASSUME_NONNULL_END
